package com.zksk.mbg.admin.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zksk.common.core.web.domain.BaseEntity;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 * 营销记录信息表
 * </p>
 *
 * @author Zksk Acmen
 * @since 2023-01-06
 */
@Data
@Accessors(chain = true)
@TableName("platform_fact_sale_record")
@ApiModel(value = "SaleRecord对象", description = "营销记录信息表")
public class SaleRecord extends BaseEntity {

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty("用户id")
    @TableField("member_id")
    private Long memberId;

    @ApiModelProperty("用户来源平台id")
    @TableField("stations_id")
    private Long stationsId;

    @ApiModelProperty("客户id")
    @TableField("customer_id")
    private Long customerId;

    @ApiModelProperty("枚举产品")
    @TableField("enum_product_id")
    private Long enumProductId;

    @ApiModelProperty("枚举产品名称")
    @TableField("enum_product_name")
    private String enumProductName;

    @ApiModelProperty("营销人员id")
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty("用户状态（0已申请、1未申请、2已咨询、3未咨询）")
    @TableField("member_status")
    private Integer memberStatus;

    @ApiModelProperty("社交账号")
    @TableField("`account`")
    private String account;

    @ApiModelProperty("帐号状态（0已添加、1未添加）")
    @TableField("account_status")
    private Integer accountStatus;

    @ApiModelProperty("账号类型（0企业微信、1微信、2QQ）")
    @TableField("account_type")
    private String accountType;

    @ApiModelProperty("担任职务")
    @TableField("post")
    private String post;

    @ApiModelProperty("营销类型（0电销、1拜访）")
    @TableField("sale_type")
    private Integer saleType;

    @ApiModelProperty("企业意向")
    @TableField("intention")
    private String intention;

    @ApiModelProperty("企业级别")
    @TableField("`level`")
    private String level;

    @ApiModelProperty("需求资金额度")
    @TableField("expect_amount")
    private String expectAmount;

    @ApiModelProperty("期望资金到位时间")
    @TableField("expect_time")
    private LocalDateTime expectTime;

    @ApiModelProperty("营销时间")
    @TableField("sale_time")
    private LocalDateTime saleTime;

    @ApiModelProperty("入库时间")
    @TableField("storage_time")
    private LocalDateTime storageTime;

    @ApiModelProperty("用户编码")
    @TableField("member_code")
    private String memberCode;

    @ApiModelProperty("删除标识（0 正常 2已删除）")
    @TableField(value = "del_flag", fill = FieldFill.INSERT)
    @TableLogic
    private Integer delFlag;


    public static final String ID = "id";

    public static final String MEMBER_ID = "member_id";

    public static final String STATIONS_ID = "stations_id";

    public static final String CUSTOMER_ID = "customer_id";

    public static final String ENUM_PRODUCT_ID = "enum_product_id";

    public static final String ENUM_PRODUCT_NAME = "enum_product_name";

    public static final String USER_ID = "user_id";

    public static final String MEMBER_STATUS = "member_status";

    public static final String ACCOUNT = "account";

    public static final String ACCOUNT_STATUS = "account_status";

    public static final String ACCOUNT_TYPE = "account_type";

    public static final String POST = "post";

    public static final String SALE_TYPE = "sale_type";

    public static final String INTENTION = "intention";

    public static final String LEVEL = "level";

    public static final String EXPECT_AMOUNT = "expect_amount";

    public static final String EXPECT_TIME = "expect_time";

    public static final String SALE_TIME = "sale_time";

    public static final String STORAGE_TIME = "storage_time";

    public static final String MEMBER_CODE = "member_code";

    public static final String DEL_FLAG = "del_flag";

    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
